[INFO] fetching crate pepper 0.31.0...
[INFO] checking pepper-0.31.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate pepper 0.31.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate pepper 0.31.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pepper 0.31.0
[INFO] finished tweaking crates.io crate pepper 0.31.0
[INFO] tweaked toml for crates.io crate pepper 0.31.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate pepper 0.31.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f9cec712f6ac6cb2fa79b922ae7cd2f190399e404804e610eabb6e0fda804da9
[INFO] running `Command { std: "docker" "start" "-a" "f9cec712f6ac6cb2fa79b922ae7cd2f190399e404804e610eabb6e0fda804da9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9cec712f6ac6cb2fa79b922ae7cd2f190399e404804e610eabb6e0fda804da9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9cec712f6ac6cb2fa79b922ae7cd2f190399e404804e610eabb6e0fda804da9", kill_on_drop: false }`
[INFO] [stdout] f9cec712f6ac6cb2fa79b922ae7cd2f190399e404804e610eabb6e0fda804da9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8bb2795586d5fb2ac11535c59034dcb80f8eb4b8d6823c29ba8c03e0fce7476
[INFO] running `Command { std: "docker" "start" "-a" "d8bb2795586d5fb2ac11535c59034dcb80f8eb4b8d6823c29ba8c03e0fce7476", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]     Checking pepper v0.31.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.91s
[INFO] running `Command { std: "docker" "inspect" "d8bb2795586d5fb2ac11535c59034dcb80f8eb4b8d6823c29ba8c03e0fce7476", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8bb2795586d5fb2ac11535c59034dcb80f8eb4b8d6823c29ba8c03e0fce7476", kill_on_drop: false }`
[INFO] [stdout] d8bb2795586d5fb2ac11535c59034dcb80f8eb4b8d6823c29ba8c03e0fce7476
[INFO] checking pepper-0.31.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate pepper 0.31.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate pepper 0.31.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pepper 0.31.0
[INFO] finished tweaking crates.io crate pepper 0.31.0
[INFO] tweaked toml for crates.io crate pepper 0.31.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate crates.io crate pepper 0.31.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec4deeeb57e940bce44f5d0a9ad334135f38720c804d6089a4604962aa62d9da
[INFO] running `Command { std: "docker" "start" "-a" "ec4deeeb57e940bce44f5d0a9ad334135f38720c804d6089a4604962aa62d9da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec4deeeb57e940bce44f5d0a9ad334135f38720c804d6089a4604962aa62d9da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec4deeeb57e940bce44f5d0a9ad334135f38720c804d6089a4604962aa62d9da", kill_on_drop: false }`
[INFO] [stdout] ec4deeeb57e940bce44f5d0a9ad334135f38720c804d6089a4604962aa62d9da
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4e011e787db1444807d8a9aa030b4bcdc2400d48bad6694e6957c05c2ca7f87
[INFO] running `Command { std: "docker" "start" "-a" "a4e011e787db1444807d8a9aa030b4bcdc2400d48bad6694e6957c05c2ca7f87", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.139
[INFO] [stderr]     Checking pepper v0.31.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let message_range = self.message_range.start as usize..self.message_range.end as usize;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |         for i in (0..self.inner.lints.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:232:28
[INFO] [stdout]     |
[INFO] [stdout] 232 |             message_range: message_start..message_end,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for i in (0..self.breakpoints.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/buffer.rs:399:31
[INFO] [stdout]     |
[INFO] [stdout] 399 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:530:29
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let right = &self.0[mid_end_index..];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:566:43
[INFO] [stdout]     |
[INFO] [stdout] 566 | ...                   text: &self.0[index..end_index],
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:599:34
[INFO] [stdout]     |
[INFO] [stdout] 599 |         other.0.push_str(&self.0[index..]);
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:656:23
[INFO] [stdout]     |
[INFO] [stdout] 656 |                 &line[self.from.column_byte_index as usize..self.to.column_byte_index as usize];
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:660:30
[INFO] [stdout]     |
[INFO] [stdout] 660 |             let text = &line[self.from.column_byte_index as usize..];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:877:17
[INFO] [stdout]     |
[INFO] [stdout] 877 |                 from.column_byte_index as usize..to.column_byte_index as usize,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:882:54
[INFO] [stdout]     |
[INFO] [stdout] 882 |             from_line.delete_range(from_display_len, from.column_byte_index as usize..);
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:884:31
[INFO] [stdout]     |
[INFO] [stdout] 884 |             let lines_range = (from.line_index as usize + 1)..to.line_index as usize;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:902:39
[INFO] [stdout]     |
[INFO] [stdout] 902 |                     &to_line.as_str()[to.column_byte_index as usize..],
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1024:39
[INFO] [stdout]      |
[INFO] [stdout] 1024 |                     for line_index in (position.line_index as usize + 1)..self.lines.len() {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1052:40
[INFO] [stdout]      |
[INFO] [stdout] 1052 |                     for line_index in (0..position.line_index).rev() {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/buffer.rs:1348:34
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                 &content.lines()[range.from.line_index as usize..=range.to.line_index as usize]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/buffer.rs:1394:33
[INFO] [stdout]      |
[INFO] [stdout] 1394 |                     text: &line[from.column_byte_index as usize..],
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1400:22
[INFO] [stdout]      |
[INFO] [stdout] 1400 |                     [from.column_byte_index as usize..to.column_byte_index as usize];
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1414:36
[INFO] [stdout]      |
[INFO] [stdout] 1414 |                 for line_index in ((from.line_index + 1)..to.line_index).rev() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/buffer.rs:1437:34
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 &content.lines()[range.from.line_index as usize..=range.to.line_index as usize]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/buffer_history.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.text_range.start as usize..self.text_range.end as usize
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/buffer_history.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |             text_range: texts_range_start as u32..self.texts.len() as u32,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |             for edit in &mut group_edits[current_index + 1..] {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:138:43
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let group_edits = &mut self.edits[current_group_start..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:253:50
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         let deleted_text_range = fix_text_start..(fix_text_start + edit_text_len);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:277:50
[INFO] [stdout]     |
[INFO] [stdout] 277 |                         let deleted_text_range = fix_text_start..other_edit.text_range.end as _;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:305:77
[INFO] [stdout]     |
[INFO] [stdout] 305 | ...                   .replace_range(other_text_range, &edit.text[other_text_len..]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:335:38
[INFO] [stdout]     |
[INFO] [stdout] 335 |                         if edit.text[text_len_diff..] == self.texts[other_text_range.clone()] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:369:36
[INFO] [stdout]     |
[INFO] [stdout] 369 |             self.group_ranges.push(edit_index..self.edits.len());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     0..0
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:416:21
[INFO] [stdout]     |
[INFO] [stdout] 416 |                     0..0
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_position.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let s = &s[i..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/buffer_view.rs:83:30
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         line[c.position.column_byte_index as usize..].char_indices(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 for i in 0..cursors[..].len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 for i in 0..cursors[..].len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:234:52
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         let words = WordIter(&line[c.position.column_byte_index as usize..])
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:313:52
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         let words = WordIter(&line[c.position.column_byte_index as usize..])
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:454:31
[INFO] [stdout]     |
[INFO] [stdout] 454 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:824:31
[INFO] [stdout]     |
[INFO] [stdout] 824 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:844:31
[INFO] [stdout]     |
[INFO] [stdout] 844 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:852:43
[INFO] [stdout]     |
[INFO] [stdout] 852 |                 let line = &line.as_str()[position.column_byte_index as usize..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.0 = &self.0[i + 1..];
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 Some(i) => self.0 = &self.0[i + 1..],
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:326:38
[INFO] [stdout]     |
[INFO] [stdout] 326 |                         chars = rest[i + 1..].chars();
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:436:16
[INFO] [stdout]     |
[INFO] [stdout] 436 |         &names[self.name_range.start as usize..self.name_range.end as usize]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:440:18
[INFO] [stdout]     |
[INFO] [stdout] 440 |         &sources[self.source_range.start as usize..self.source_range.end as usize]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:503:40
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let old_source_range = m.source_range.start as usize..m.source_range.end as usize;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:518:43
[INFO] [stdout]     |
[INFO] [stdout] 518 |                 for m in &mut self.macros[i + 1..] {
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:542:25
[INFO] [stdout]     |
[INFO] [stdout] 542 |             name_range: name_start as _..name_end as _,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:543:27
[INFO] [stdout]     |
[INFO] [stdout] 543 |             source_range: source_start as _..source_end as _,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:989:65
[INFO] [stdout]     |
[INFO] [stdout] 989 |             let variable_name = match parse_variable_name(&rest[1..]) {
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1000:65
[INFO] [stdout]      |
[INFO] [stdout] 1000 |             let variable_args = match parse_variable_args(&rest[args_skip..]) {
[INFO] [stdout]      |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1009:26
[INFO] [stdout]      |
[INFO] [stdout] 1009 |             rest = &rest[args_skip + variable_args.len() + 1..];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1013:38
[INFO] [stdout]      |
[INFO] [stdout] 1013 |             let variable_args = &aux[aux_len..];
[INFO] [stdout]      |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |         &self.cursors[index.start..]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |         &self.inner.cursors[index.start..]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:258:33
[INFO] [stdout]     |
[INFO] [stdout] 258 |         &mut self.inner.cursors[index.start..]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor.rs:432:41
[INFO] [stdout]     |
[INFO] [stdout] 432 |             &ctx.editor.buffered_keys.0[start_index..],
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor.rs:460:56
[INFO] [stdout]     |
[INFO] [stdout] 460 |                 for key in &ctx.editor.buffered_keys.0[from_index..keys.index] {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:349:65
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     lines[lines_len] = &self.status_bar_message[line_start_index..i];
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:362:69
[INFO] [stdout]     |
[INFO] [stdout] 362 |                         lines[lines_len] = &self.status_bar_message[line_start_index..i];
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:370:57
[INFO] [stdout]     |
[INFO] [stdout] 370 |             lines[lines_len] = &self.status_bar_message[line_start_index..];
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:667:28
[INFO] [stdout]     |
[INFO] [stdout] 667 |             bytes = &bytes[1..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:751:49
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Some(i) => (i, BufferRangesParser(&rest[i + 1..])),
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:781:22
[INFO] [stdout]     |
[INFO] [stdout] 781 |     let path = &text[from..to];
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:786:51
[INFO] [stdout]     |
[INFO] [stdout] 786 |             (&path[..i], BufferRangesParser(&path[i + 1..]))
[INFO] [stdout]     |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:789:30
[INFO] [stdout]     |
[INFO] [stdout] 789 |             let rest = &text[to..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |         &reader.0.texts[self.text_from as usize..self.text_to as usize]
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         &reader.0.text_inserts[self.from as usize..self.to as usize]
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &reader.0.range_deletes[self.from as usize..self.to as usize]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |         &reader.0.cursors[self.from as usize..self.to as usize]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/events.rs:318:33
[INFO] [stdout]     |
[INFO] [stdout] 318 |         &mut self.inner.cursors[self.previous_cursors_len as usize..]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/events.rs:755:13
[INFO] [stdout]     |
[INFO] [stdout] 755 |         buf[1..Self::bytes_variant_header_len()].copy_from_slice(&len_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/events.rs:880:30
[INFO] [stdout]     |
[INFO] [stdout] 880 |         let mut slice = &buf[self.read_len..];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/glob.rs:58:45
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Some('?') => match self.ops[start_ops_index..].last_mut() {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 Some(c) => match self.ops[start_ops_index..].last_mut() {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 let prefix = &texts[(from as usize)..(to as usize)];
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 for _ in 0..count {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:259:40
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 let mut ranges = texts[from as usize..to as usize].chars();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:273:40
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 let mut ranges = texts[from as usize..to as usize].chars();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:289:32
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     ops = &ops[1..];
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:294:32
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     ops = &ops[len..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/command.rs:188:26
[INFO] [stdout]     |
[INFO] [stdout] 188 |         pattern = &input[input.len()..];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/command.rs:207:33
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let rest = &pattern[i + 1..];
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/insert.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 for i in (0..cursor_count).rev() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/mode/normal.rs:55:61
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 for key in &editor.buffered_keys.as_slice()[from_index..keys.index] {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/mode/normal.rs:74:53
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for key in &editor.buffered_keys.as_slice()[from_index..keys.index] {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:600:44
[INFO] [stdout]     |
[INFO] [stdout] 600 | ...                   match line[position.column_byte_index as usize..].chars().next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:657:34
[INFO] [stdout]     |
[INFO] [stdout] 657 |                         for i in 0..buffer_view.cursors[..].len() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:674:61
[INFO] [stdout]     |
[INFO] [stdout] 674 | ...                   parse_path_and_ranges(&line[from as usize..to as usize])
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1226:39
[INFO] [stdout]      |
[INFO] [stdout] 1226 |                     for line_index in from_line_index..=to_line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1230:34
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                         for _ in 0..count {
[INFO] [stdout]      |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1231:50
[INFO] [stdout]      |
[INFO] [stdout] 1231 | ...                   let mut chars = line[indentation_column_index..].char_indices();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1293:39
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                     for line_index in range.from.line_index..=range.to.line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1310:39
[INFO] [stdout]      |
[INFO] [stdout] 1310 |                     for line_index in from_line_index..=to_line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1398:30
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                     for i in 0..cursor_count {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1414:47
[INFO] [stdout]      |
[INFO] [stdout] 1414 | ...                   for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1430:47
[INFO] [stdout]      |
[INFO] [stdout] 1430 | ...                   for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1512:34
[INFO] [stdout]      |
[INFO] [stdout] 1512 |                         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1536:34
[INFO] [stdout]      |
[INFO] [stdout] 1536 |                         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1918:38
[INFO] [stdout]      |
[INFO] [stdout] 1918 | ...                   for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2223:30
[INFO] [stdout]      |
[INFO] [stdout] 2223 |             let text = &text[range.0 as usize..range.1 as usize];
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2386:30
[INFO] [stdout]      |
[INFO] [stdout] 2386 |               let text = &line[main_range.from.column_byte_index as usize
[INFO] [stdout]      |  ______________________________^
[INFO] [stdout] 2387 | |                 ..main_range.to.column_byte_index as usize];
[INFO] [stdout]      | |__________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2424:18
[INFO] [stdout]      |
[INFO] [stdout] 2424 |         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     [range.from.column_byte_index as usize..range.to.column_byte_index as usize];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |                     [range.from.column_byte_index as usize..];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:285:35
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 327 |         for i in (0..cursors[..].len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:478:22
[INFO] [stdout]     |
[INFO] [stdout] 478 |                     [range.from.column_byte_index as usize..range.to.column_byte_index as usize];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:482:22
[INFO] [stdout]     |
[INFO] [stdout] 482 |                     [range.from.column_byte_index as usize..];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:485:35
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:506:44
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 for cursor in &mut cursors[new_cursors_start_index..] {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation_history.rs:174:19
[INFO] [stdout]     |
[INFO] [stdout] 174 |         for i in (0..self.snapshots.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/pattern.rs:82:33
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 match self.text[self.index..].find(anchor) {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/pattern.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     return Some(from..self.index);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/pattern.rs:97:46
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 _ => self.index += self.text[self.index..].chars().next()?.len_utf8(),
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             [b'f', b'/', ..] => (true, true, &pattern[2..]),
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:157:56
[INFO] [stdout]     |
[INFO] [stdout] 157 |             [b'F', b'/', ..] => (true, false, &pattern[2..]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:158:56
[INFO] [stdout]     |
[INFO] [stdout] 158 |             [b'p', b'/', ..] => (false, true, &pattern[2..]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:159:57
[INFO] [stdout]     |
[INFO] [stdout] 159 |             [b'P', b'/', ..] => (false, false, &pattern[2..]),
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:185:36
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 pattern = &pattern[len..];
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:266:30
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let mut chars = text[index..].chars();
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:293:34
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     chars = text[index..].chars();
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:300:46
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         Some((i, _)) => text[i..].chars(),
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:372:48
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         chars = chars.as_str()[len..].chars();
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:385:48
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         chars = chars.as_str()[len..].chars();
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:973:45
[INFO] [stdout]     |
[INFO] [stdout] 973 |             len += c.encode_utf8(&mut bytes[len..]).len();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:986:24
[INFO] [stdout]     |
[INFO] [stdout] 986 |         self.ops.drain(from..to);
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/pattern.rs:1051:45
[INFO] [stdout]      |
[INFO] [stdout] 1051 |             len += c.encode_utf8(&mut bytes[len..]).len();
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1067:24
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         self.ops.drain(index + 1..op_index);
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/picker.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for i in 0..self.custom_entries_len {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/picker.rs:278:44
[INFO] [stdout]     |
[INFO] [stdout] 278 |                 for (i, text_char) in text[previous_match.rest_index as usize..].char_indices() {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/plugin.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 112 |         for i in 0..ctx.plugins.plugins.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:145:27
[INFO] [stdout]     |
[INFO] [stdout] 145 |             index += line[from..]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:188:44
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 max_end += line.as_bytes()[index..]
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:294:45
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 for line in &mut self.lines[previous_highlighted_len..] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:300:45
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 for line in &mut self.lines[previous_highlighted_len..self.highlighted_len] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:306:24
[INFO] [stdout]     |
[INFO] [stdout] 306 |             self.lines[insert_index as usize..self.highlighted_len as usize]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:331:24
[INFO] [stdout]     |
[INFO] [stdout] 331 |             self.lines[delete_index as usize..].rotate_left(delete_line_count as _);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |     for _ in 0..margin_top {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     for _ in 0..margin_bottom {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:332:35
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let line = &line.as_str()[scroll_offset.column_byte_index as usize..];
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:461:30
[INFO] [stdout]     |
[INFO] [stdout] 461 |                     for _ in 0..tab_size - 1 {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:497:14
[INFO] [stdout]     |
[INFO] [stdout] 497 |     for _ in lines_drawn_count..draw_height {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:565:18
[INFO] [stdout]     |
[INFO] [stdout] 565 |         for _ in x..width {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:705:76
[INFO] [stdout]     |
[INFO] [stdout] 705 |                 Some((char_index, (byte_index, _))) => (char_index + 1, &s[byte_index..]),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:748:53
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let status = match std::str::from_utf8(&buf[status_start_index..]) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:763:13
[INFO] [stdout]     |
[INFO] [stdout] 763 |             status_start_index..status_start_index + status_len,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:766:27
[INFO] [stdout]     |
[INFO] [stdout] 766 |         for b in &mut buf[status_start_index..buf_len - status_len] {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:771:38
[INFO] [stdout]     |
[INFO] [stdout] 771 |             let (prefix, rest) = buf[start_index..].split_at_mut(TOO_LONG_PREFIX.len());
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:274:60
[INFO] [stdout]     |
[INFO] [stdout] 274 |                     0 => (KeyCode::Char(buf[0] as _), &buf[1..]),
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:337:24
[INFO] [stdout]     |
[INFO] [stdout] 337 |             buf = &buf[len as usize..];
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:358:42
[INFO] [stdout]     |
[INFO] [stdout] 358 |         match connection.read(&mut write[start..start + len]) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |         let message_range = self.message_range.start as usize..self.message_range.end as usize;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:218:19
[INFO] [stdout]     |
[INFO] [stdout] 218 |         for i in (0..self.inner.lints.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:232:28
[INFO] [stdout]     |
[INFO] [stdout] 232 |             message_range: message_start..message_end,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 |         for i in (0..self.breakpoints.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/buffer.rs:399:31
[INFO] [stdout]     |
[INFO] [stdout] 399 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:530:29
[INFO] [stdout]     |
[INFO] [stdout] 530 |         let right = &self.0[mid_end_index..];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:566:43
[INFO] [stdout]     |
[INFO] [stdout] 566 | ...                   text: &self.0[index..end_index],
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:599:34
[INFO] [stdout]     |
[INFO] [stdout] 599 |         other.0.push_str(&self.0[index..]);
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:656:23
[INFO] [stdout]     |
[INFO] [stdout] 656 |                 &line[self.from.column_byte_index as usize..self.to.column_byte_index as usize];
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:660:30
[INFO] [stdout]     |
[INFO] [stdout] 660 |             let text = &line[self.from.column_byte_index as usize..];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:877:17
[INFO] [stdout]     |
[INFO] [stdout] 877 |                 from.column_byte_index as usize..to.column_byte_index as usize,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:882:54
[INFO] [stdout]     |
[INFO] [stdout] 882 |             from_line.delete_range(from_display_len, from.column_byte_index as usize..);
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer.rs:884:31
[INFO] [stdout]     |
[INFO] [stdout] 884 |             let lines_range = (from.line_index as usize + 1)..to.line_index as usize;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer.rs:902:39
[INFO] [stdout]     |
[INFO] [stdout] 902 |                     &to_line.as_str()[to.column_byte_index as usize..],
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1024:39
[INFO] [stdout]      |
[INFO] [stdout] 1024 |                     for line_index in (position.line_index as usize + 1)..self.lines.len() {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1052:40
[INFO] [stdout]      |
[INFO] [stdout] 1052 |                     for line_index in (0..position.line_index).rev() {
[INFO] [stdout]      |                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/buffer.rs:1348:34
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                 &content.lines()[range.from.line_index as usize..=range.to.line_index as usize]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/buffer.rs:1394:33
[INFO] [stdout]      |
[INFO] [stdout] 1394 |                     text: &line[from.column_byte_index as usize..],
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1400:22
[INFO] [stdout]      |
[INFO] [stdout] 1400 |                     [from.column_byte_index as usize..to.column_byte_index as usize];
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/buffer.rs:1414:36
[INFO] [stdout]      |
[INFO] [stdout] 1414 |                 for line_index in ((from.line_index + 1)..to.line_index).rev() {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/buffer.rs:1437:34
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 &content.lines()[range.from.line_index as usize..=range.to.line_index as usize]
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/buffer_history.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         self.text_range.start as usize..self.text_range.end as usize
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/buffer_history.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |             text_range: texts_range_start as u32..self.texts.len() as u32,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |             for edit in &mut group_edits[current_index + 1..] {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:138:43
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let group_edits = &mut self.edits[current_group_start..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:253:50
[INFO] [stdout]     |
[INFO] [stdout] 253 |                         let deleted_text_range = fix_text_start..(fix_text_start + edit_text_len);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:277:50
[INFO] [stdout]     |
[INFO] [stdout] 277 |                         let deleted_text_range = fix_text_start..other_edit.text_range.end as _;
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:305:77
[INFO] [stdout]     |
[INFO] [stdout] 305 | ...                   .replace_range(other_text_range, &edit.text[other_text_len..]);
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:335:38
[INFO] [stdout]     |
[INFO] [stdout] 335 |                         if edit.text[text_len_diff..] == self.texts[other_text_range.clone()] {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:369:36
[INFO] [stdout]     |
[INFO] [stdout] 369 |             self.group_ranges.push(edit_index..self.edits.len());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:387:21
[INFO] [stdout]     |
[INFO] [stdout] 387 |                     0..0
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_history.rs:416:21
[INFO] [stdout]     |
[INFO] [stdout] 416 |                     0..0
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_position.rs:100:20
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let s = &s[i..];
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/buffer_view.rs:83:30
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         line[c.position.column_byte_index as usize..].char_indices(),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 for i in 0..cursors[..].len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:200:26
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 for i in 0..cursors[..].len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:234:52
[INFO] [stdout]     |
[INFO] [stdout] 234 |                         let words = WordIter(&line[c.position.column_byte_index as usize..])
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:313:52
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         let words = WordIter(&line[c.position.column_byte_index as usize..])
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:454:31
[INFO] [stdout]     |
[INFO] [stdout] 454 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:796:35
[INFO] [stdout]     |
[INFO] [stdout] 796 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::ColumnsForward(0));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:796:41
[INFO] [stdout]     |
[INFO] [stdout] 796 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::ColumnsForward(0));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:797:35
[INFO] [stdout]     |
[INFO] [stdout] 797 |         assert_movement(&mut ctx, 2..2, 2..3, CursorMovement::ColumnsForward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:797:41
[INFO] [stdout]     |
[INFO] [stdout] 797 |         assert_movement(&mut ctx, 2..2, 2..3, CursorMovement::ColumnsForward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:798:35
[INFO] [stdout]     |
[INFO] [stdout] 798 |         assert_movement(&mut ctx, 2..2, 2..4, CursorMovement::ColumnsForward(2));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:798:41
[INFO] [stdout]     |
[INFO] [stdout] 798 |         assert_movement(&mut ctx, 2..2, 2..4, CursorMovement::ColumnsForward(2));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:799:35
[INFO] [stdout]     |
[INFO] [stdout] 799 |         assert_movement(&mut ctx, 2..2, 3..0, CursorMovement::ColumnsForward(3));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:799:41
[INFO] [stdout]     |
[INFO] [stdout] 799 |         assert_movement(&mut ctx, 2..2, 3..0, CursorMovement::ColumnsForward(3));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:800:35
[INFO] [stdout]     |
[INFO] [stdout] 800 |         assert_movement(&mut ctx, 2..2, 3..3, CursorMovement::ColumnsForward(6));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:800:41
[INFO] [stdout]     |
[INFO] [stdout] 800 |         assert_movement(&mut ctx, 2..2, 3..3, CursorMovement::ColumnsForward(6));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:801:35
[INFO] [stdout]     |
[INFO] [stdout] 801 |         assert_movement(&mut ctx, 2..2, 4..0, CursorMovement::ColumnsForward(7));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:801:41
[INFO] [stdout]     |
[INFO] [stdout] 801 |         assert_movement(&mut ctx, 2..2, 4..0, CursorMovement::ColumnsForward(7));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:802:35
[INFO] [stdout]     |
[INFO] [stdout] 802 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::ColumnsForward(999));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:802:41
[INFO] [stdout]     |
[INFO] [stdout] 802 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::ColumnsForward(999));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:804:35
[INFO] [stdout]     |
[INFO] [stdout] 804 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::ColumnsBackward(0));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:804:41
[INFO] [stdout]     |
[INFO] [stdout] 804 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::ColumnsBackward(0));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:805:35
[INFO] [stdout]     |
[INFO] [stdout] 805 |         assert_movement(&mut ctx, 2..2, 2..1, CursorMovement::ColumnsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:805:41
[INFO] [stdout]     |
[INFO] [stdout] 805 |         assert_movement(&mut ctx, 2..2, 2..1, CursorMovement::ColumnsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:806:35
[INFO] [stdout]     |
[INFO] [stdout] 806 |         assert_movement(&mut ctx, 2..0, 1..3, CursorMovement::ColumnsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:806:41
[INFO] [stdout]     |
[INFO] [stdout] 806 |         assert_movement(&mut ctx, 2..0, 1..3, CursorMovement::ColumnsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:807:35
[INFO] [stdout]     |
[INFO] [stdout] 807 |         assert_movement(&mut ctx, 2..2, 1..3, CursorMovement::ColumnsBackward(3));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:807:41
[INFO] [stdout]     |
[INFO] [stdout] 807 |         assert_movement(&mut ctx, 2..2, 1..3, CursorMovement::ColumnsBackward(3));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:808:35
[INFO] [stdout]     |
[INFO] [stdout] 808 |         assert_movement(&mut ctx, 2..2, 0..2, CursorMovement::ColumnsBackward(7));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:808:41
[INFO] [stdout]     |
[INFO] [stdout] 808 |         assert_movement(&mut ctx, 2..2, 0..2, CursorMovement::ColumnsBackward(7));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:809:35
[INFO] [stdout]     |
[INFO] [stdout] 809 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::ColumnsBackward(999));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:809:41
[INFO] [stdout]     |
[INFO] [stdout] 809 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::ColumnsBackward(999));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:811:35
[INFO] [stdout]     |
[INFO] [stdout] 811 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::WordsForward(0));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:811:41
[INFO] [stdout]     |
[INFO] [stdout] 811 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::WordsForward(0));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:812:35
[INFO] [stdout]     |
[INFO] [stdout] 812 |         assert_movement(&mut ctx, 2..0, 2..4, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:812:41
[INFO] [stdout]     |
[INFO] [stdout] 812 |         assert_movement(&mut ctx, 2..0, 2..4, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:813:35
[INFO] [stdout]     |
[INFO] [stdout] 813 |         assert_movement(&mut ctx, 2..0, 3..0, CursorMovement::WordsForward(2));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:813:41
[INFO] [stdout]     |
[INFO] [stdout] 813 |         assert_movement(&mut ctx, 2..0, 3..0, CursorMovement::WordsForward(2));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:814:35
[INFO] [stdout]     |
[INFO] [stdout] 814 |         assert_movement(&mut ctx, 2..2, 3..2, CursorMovement::WordsForward(3));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:814:41
[INFO] [stdout]     |
[INFO] [stdout] 814 |         assert_movement(&mut ctx, 2..2, 3..2, CursorMovement::WordsForward(3));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:815:35
[INFO] [stdout]     |
[INFO] [stdout] 815 |         assert_movement(&mut ctx, 2..2, 3..3, CursorMovement::WordsForward(4));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:815:41
[INFO] [stdout]     |
[INFO] [stdout] 815 |         assert_movement(&mut ctx, 2..2, 3..3, CursorMovement::WordsForward(4));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:816:35
[INFO] [stdout]     |
[INFO] [stdout] 816 |         assert_movement(&mut ctx, 2..2, 4..0, CursorMovement::WordsForward(5));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:816:41
[INFO] [stdout]     |
[INFO] [stdout] 816 |         assert_movement(&mut ctx, 2..2, 4..0, CursorMovement::WordsForward(5));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:817:35
[INFO] [stdout]     |
[INFO] [stdout] 817 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::WordsForward(6));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:817:41
[INFO] [stdout]     |
[INFO] [stdout] 817 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::WordsForward(6));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:818:35
[INFO] [stdout]     |
[INFO] [stdout] 818 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::WordsForward(999));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:818:41
[INFO] [stdout]     |
[INFO] [stdout] 818 |         assert_movement(&mut ctx, 2..2, 4..2, CursorMovement::WordsForward(999));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:820:35
[INFO] [stdout]     |
[INFO] [stdout] 820 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::WordsBackward(0));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:820:41
[INFO] [stdout]     |
[INFO] [stdout] 820 |         assert_movement(&mut ctx, 2..2, 2..2, CursorMovement::WordsBackward(0));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:821:35
[INFO] [stdout]     |
[INFO] [stdout] 821 |         assert_movement(&mut ctx, 2..0, 1..3, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:821:41
[INFO] [stdout]     |
[INFO] [stdout] 821 |         assert_movement(&mut ctx, 2..0, 1..3, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:822:35
[INFO] [stdout]     |
[INFO] [stdout] 822 |         assert_movement(&mut ctx, 2..0, 1..2, CursorMovement::WordsBackward(2));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:822:41
[INFO] [stdout]     |
[INFO] [stdout] 822 |         assert_movement(&mut ctx, 2..0, 1..2, CursorMovement::WordsBackward(2));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:823:35
[INFO] [stdout]     |
[INFO] [stdout] 823 |         assert_movement(&mut ctx, 2..2, 2..0, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:823:41
[INFO] [stdout]     |
[INFO] [stdout] 823 |         assert_movement(&mut ctx, 2..2, 2..0, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:824:35
[INFO] [stdout]     |
[INFO] [stdout] 824 |         assert_movement(&mut ctx, 2..2, 1..3, CursorMovement::WordsBackward(2));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:824:41
[INFO] [stdout]     |
[INFO] [stdout] 824 |         assert_movement(&mut ctx, 2..2, 1..3, CursorMovement::WordsBackward(2));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:825:35
[INFO] [stdout]     |
[INFO] [stdout] 825 |         assert_movement(&mut ctx, 2..2, 1..2, CursorMovement::WordsBackward(3));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:825:41
[INFO] [stdout]     |
[INFO] [stdout] 825 |         assert_movement(&mut ctx, 2..2, 1..2, CursorMovement::WordsBackward(3));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:826:35
[INFO] [stdout]     |
[INFO] [stdout] 826 |         assert_movement(&mut ctx, 2..2, 1..0, CursorMovement::WordsBackward(4));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:826:41
[INFO] [stdout]     |
[INFO] [stdout] 826 |         assert_movement(&mut ctx, 2..2, 1..0, CursorMovement::WordsBackward(4));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:827:35
[INFO] [stdout]     |
[INFO] [stdout] 827 |         assert_movement(&mut ctx, 2..2, 0..2, CursorMovement::WordsBackward(5));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:827:41
[INFO] [stdout]     |
[INFO] [stdout] 827 |         assert_movement(&mut ctx, 2..2, 0..2, CursorMovement::WordsBackward(5));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:828:35
[INFO] [stdout]     |
[INFO] [stdout] 828 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::WordsBackward(6));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:828:41
[INFO] [stdout]     |
[INFO] [stdout] 828 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::WordsBackward(6));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:829:35
[INFO] [stdout]     |
[INFO] [stdout] 829 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::WordsBackward(999));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:829:41
[INFO] [stdout]     |
[INFO] [stdout] 829 |         assert_movement(&mut ctx, 2..2, 0..0, CursorMovement::WordsBackward(999));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:832:35
[INFO] [stdout]     |
[INFO] [stdout] 832 |         assert_movement(&mut ctx, 1..0, 1..2, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:832:41
[INFO] [stdout]     |
[INFO] [stdout] 832 |         assert_movement(&mut ctx, 1..0, 1..2, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:833:35
[INFO] [stdout]     |
[INFO] [stdout] 833 |         assert_movement(&mut ctx, 1..9, 2..0, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:833:41
[INFO] [stdout]     |
[INFO] [stdout] 833 |         assert_movement(&mut ctx, 1..9, 2..0, CursorMovement::WordsForward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:834:35
[INFO] [stdout]     |
[INFO] [stdout] 834 |         assert_movement(&mut ctx, 1..2, 1..0, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:834:41
[INFO] [stdout]     |
[INFO] [stdout] 834 |         assert_movement(&mut ctx, 1..2, 1..0, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:835:35
[INFO] [stdout]     |
[INFO] [stdout] 835 |         assert_movement(&mut ctx, 2..0, 1..9, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/buffer_view.rs:835:41
[INFO] [stdout]     |
[INFO] [stdout] 835 |         assert_movement(&mut ctx, 2..0, 1..9, CursorMovement::WordsBackward(1));
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:824:31
[INFO] [stdout]     |
[INFO] [stdout] 824 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:844:31
[INFO] [stdout]     |
[INFO] [stdout] 844 |             for line_index in from_line_index..=to_line_index {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command/builtins.rs:852:43
[INFO] [stdout]     |
[INFO] [stdout] 852 |                 let line = &line.as_str()[position.column_byte_index as usize..];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:157:26
[INFO] [stdout]     |
[INFO] [stdout] 157 |         self.0 = &self.0[i + 1..];
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 Some(i) => self.0 = &self.0[i + 1..],
[INFO] [stdout]     |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:326:38
[INFO] [stdout]     |
[INFO] [stdout] 326 |                         chars = rest[i + 1..].chars();
[INFO] [stdout]     |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:436:16
[INFO] [stdout]     |
[INFO] [stdout] 436 |         &names[self.name_range.start as usize..self.name_range.end as usize]
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:440:18
[INFO] [stdout]     |
[INFO] [stdout] 440 |         &sources[self.source_range.start as usize..self.source_range.end as usize]
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:503:40
[INFO] [stdout]     |
[INFO] [stdout] 503 |                 let old_source_range = m.source_range.start as usize..m.source_range.end as usize;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:518:43
[INFO] [stdout]     |
[INFO] [stdout] 518 |                 for m in &mut self.macros[i + 1..] {
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:542:25
[INFO] [stdout]     |
[INFO] [stdout] 542 |             name_range: name_start as _..name_end as _,
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/command.rs:543:27
[INFO] [stdout]     |
[INFO] [stdout] 543 |             source_range: source_start as _..source_end as _,
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/command.rs:989:65
[INFO] [stdout]     |
[INFO] [stdout] 989 |             let variable_name = match parse_variable_name(&rest[1..]) {
[INFO] [stdout]     |                                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1000:65
[INFO] [stdout]      |
[INFO] [stdout] 1000 |             let variable_args = match parse_variable_args(&rest[args_skip..]) {
[INFO] [stdout]      |                                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1009:26
[INFO] [stdout]      |
[INFO] [stdout] 1009 |             rest = &rest[args_skip + variable_args.len() + 1..];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/command.rs:1013:38
[INFO] [stdout]      |
[INFO] [stdout] 1013 |             let variable_args = &aux[aux_len..];
[INFO] [stdout]      |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |         &self.cursors[index.start..]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |         &self.inner.cursors[index.start..]
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cursor.rs:258:33
[INFO] [stdout]     |
[INFO] [stdout] 258 |         &mut self.inner.cursors[index.start..]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor.rs:432:41
[INFO] [stdout]     |
[INFO] [stdout] 432 |             &ctx.editor.buffered_keys.0[start_index..],
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor.rs:460:56
[INFO] [stdout]     |
[INFO] [stdout] 460 |                 for key in &ctx.editor.buffered_keys.0[from_index..keys.index] {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:349:65
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     lines[lines_len] = &self.status_bar_message[line_start_index..i];
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:362:69
[INFO] [stdout]     |
[INFO] [stdout] 362 |                         lines[lines_len] = &self.status_bar_message[line_start_index..i];
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:370:57
[INFO] [stdout]     |
[INFO] [stdout] 370 |             lines[lines_len] = &self.status_bar_message[line_start_index..];
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:667:28
[INFO] [stdout]     |
[INFO] [stdout] 667 |             bytes = &bytes[1..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:751:49
[INFO] [stdout]     |
[INFO] [stdout] 751 |         Some(i) => (i, BufferRangesParser(&rest[i + 1..])),
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:781:22
[INFO] [stdout]     |
[INFO] [stdout] 781 |     let path = &text[from..to];
[INFO] [stdout]     |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:786:51
[INFO] [stdout]     |
[INFO] [stdout] 786 |             (&path[..i], BufferRangesParser(&path[i + 1..]))
[INFO] [stdout]     |                                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:789:30
[INFO] [stdout]     |
[INFO] [stdout] 789 |             let rest = &text[to..];
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:836:69
[INFO] [stdout]     |
[INFO] [stdout] 836 |             residue.receive_bytes(&mut Default::default(), &message[3..])
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:840:69
[INFO] [stdout]     |
[INFO] [stdout] 840 |             residue.receive_bytes(&mut Default::default(), &message[6..])
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:876:69
[INFO] [stdout]     |
[INFO] [stdout] 876 |             residue.receive_bytes(&mut Default::default(), &message[3..5])
[INFO] [stdout]     |                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:880:69
[INFO] [stdout]     |
[INFO] [stdout] 880 |             residue.receive_bytes(&mut Default::default(), &message[5..8])
[INFO] [stdout]     |                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:884:69
[INFO] [stdout]     |
[INFO] [stdout] 884 |             residue.receive_bytes(&mut Default::default(), &message[8..])
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/editor_utils.rs:888:69
[INFO] [stdout]     |
[INFO] [stdout] 888 |             residue.receive_bytes(&mut Default::default(), &message[10..])
[INFO] [stdout]     |                                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/editor_utils.rs:1060:32
[INFO] [stdout]      |
[INFO] [stdout] 1060 |             find_at(text, text[1..].find('(').unwrap())
[INFO] [stdout]      |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |         &reader.0.texts[self.text_from as usize..self.text_to as usize]
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:31:32
[INFO] [stdout]    |
[INFO] [stdout] 31 |         &reader.0.text_inserts[self.from as usize..self.to as usize]
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:42:33
[INFO] [stdout]    |
[INFO] [stdout] 42 |         &reader.0.range_deletes[self.from as usize..self.to as usize]
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/events.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |         &reader.0.cursors[self.from as usize..self.to as usize]
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/events.rs:318:33
[INFO] [stdout]     |
[INFO] [stdout] 318 |         &mut self.inner.cursors[self.previous_cursors_len as usize..]
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/events.rs:755:13
[INFO] [stdout]     |
[INFO] [stdout] 755 |         buf[1..Self::bytes_variant_header_len()].copy_from_slice(&len_buf);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/events.rs:880:30
[INFO] [stdout]     |
[INFO] [stdout] 880 |         let mut slice = &buf[self.read_len..];
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/events.rs:958:18
[INFO] [stdout]     |
[INFO] [stdout] 958 |         for n in 1..=99 {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/events.rs:1024:22
[INFO] [stdout]      |
[INFO] [stdout] 1024 |             for s in 0..=1 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/events.rs:1025:26
[INFO] [stdout]      |
[INFO] [stdout] 1025 |                 for c in 0..=1 {
[INFO] [stdout]      |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/events.rs:1026:30
[INFO] [stdout]      |
[INFO] [stdout] 1026 |                     for a in 0..=1 {
[INFO] [stdout]      |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/events.rs:1088:18
[INFO] [stdout]      |
[INFO] [stdout] 1088 |         for _ in 0..EVENT_COUNT {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/events.rs:1133:72
[INFO] [stdout]      |
[INFO] [stdout] 1133 |             let events = receiver.receive_events(client_handle, &bytes[FIRST_READ_LEN..]);
[INFO] [stdout]      |                                                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/glob.rs:58:45
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Some('?') => match self.ops[start_ops_index..].last_mut() {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 Some(c) => match self.ops[start_ops_index..].last_mut() {
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 let prefix = &texts[(from as usize)..(to as usize)];
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:230:26
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 for _ in 0..count {
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:259:40
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 let mut ranges = texts[from as usize..to as usize].chars();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/glob.rs:273:40
[INFO] [stdout]     |
[INFO] [stdout] 273 |                 let mut ranges = texts[from as usize..to as usize].chars();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:289:32
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     ops = &ops[1..];
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/glob.rs:294:32
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     ops = &ops[len..];
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/command.rs:188:26
[INFO] [stdout]     |
[INFO] [stdout] 188 |         pattern = &input[input.len()..];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/command.rs:207:33
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let rest = &pattern[i + 1..];
[INFO] [stdout]     |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/insert.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |                 for i in (0..cursor_count).rev() {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/mode/normal.rs:55:61
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 for key in &editor.buffered_keys.as_slice()[from_index..keys.index] {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/mode/normal.rs:74:53
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for key in &editor.buffered_keys.as_slice()[from_index..keys.index] {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:600:44
[INFO] [stdout]     |
[INFO] [stdout] 600 | ...                   match line[position.column_byte_index as usize..].chars().next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:657:34
[INFO] [stdout]     |
[INFO] [stdout] 657 |                         for i in 0..buffer_view.cursors[..].len() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/normal.rs:674:61
[INFO] [stdout]     |
[INFO] [stdout] 674 | ...                   parse_path_and_ranges(&line[from as usize..to as usize])
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1226:39
[INFO] [stdout]      |
[INFO] [stdout] 1226 |                     for line_index in from_line_index..=to_line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1230:34
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                         for _ in 0..count {
[INFO] [stdout]      |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1231:50
[INFO] [stdout]      |
[INFO] [stdout] 1231 | ...                   let mut chars = line[indentation_column_index..].char_indices();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1293:39
[INFO] [stdout]      |
[INFO] [stdout] 1293 |                     for line_index in range.from.line_index..=range.to.line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1310:39
[INFO] [stdout]      |
[INFO] [stdout] 1310 |                     for line_index in from_line_index..=to_line_index {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1398:30
[INFO] [stdout]      |
[INFO] [stdout] 1398 |                     for i in 0..cursor_count {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1414:47
[INFO] [stdout]      |
[INFO] [stdout] 1414 | ...                   for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1430:47
[INFO] [stdout]      |
[INFO] [stdout] 1430 | ...                   for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1512:34
[INFO] [stdout]      |
[INFO] [stdout] 1512 |                         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1536:34
[INFO] [stdout]      |
[INFO] [stdout] 1536 |                         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:1918:38
[INFO] [stdout]      |
[INFO] [stdout] 1918 | ...                   for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2223:30
[INFO] [stdout]      |
[INFO] [stdout] 2223 |             let text = &text[range.0 as usize..range.1 as usize];
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2386:30
[INFO] [stdout]      |
[INFO] [stdout] 2386 |               let text = &line[main_range.from.column_byte_index as usize
[INFO] [stdout]      |  ______________________________^
[INFO] [stdout] 2387 | |                 ..main_range.to.column_byte_index as usize];
[INFO] [stdout]      | |__________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/mode/normal.rs:2424:18
[INFO] [stdout]      |
[INFO] [stdout] 2424 |         for _ in 0..state.count.max(1) {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |                     [range.from.column_byte_index as usize..range.to.column_byte_index as usize];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |                     [range.from.column_byte_index as usize..];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:285:35
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 327 |         for i in (0..cursors[..].len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:478:22
[INFO] [stdout]     |
[INFO] [stdout] 478 |                     [range.from.column_byte_index as usize..range.to.column_byte_index as usize];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:482:22
[INFO] [stdout]     |
[INFO] [stdout] 482 |                     [range.from.column_byte_index as usize..];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:485:35
[INFO] [stdout]     |
[INFO] [stdout] 485 |                 for line_index in (range.from.line_index + 1)..range.to.line_index {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mode/readline.rs:506:44
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 for cursor in &mut cursors[new_cursors_start_index..] {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation_history.rs:174:19
[INFO] [stdout]     |
[INFO] [stdout] 174 |         for i in (0..self.snapshots.len()).rev() {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/pattern.rs:82:33
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 match self.text[self.index..].find(anchor) {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/pattern.rs:95:33
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     return Some(from..self.index);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/pattern.rs:97:46
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 _ => self.index += self.text[self.index..].chars().next()?.len_utf8(),
[INFO] [stdout]    |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:156:55
[INFO] [stdout]     |
[INFO] [stdout] 156 |             [b'f', b'/', ..] => (true, true, &pattern[2..]),
[INFO] [stdout]     |                                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:157:56
[INFO] [stdout]     |
[INFO] [stdout] 157 |             [b'F', b'/', ..] => (true, false, &pattern[2..]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:158:56
[INFO] [stdout]     |
[INFO] [stdout] 158 |             [b'p', b'/', ..] => (false, true, &pattern[2..]),
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:159:57
[INFO] [stdout]     |
[INFO] [stdout] 159 |             [b'P', b'/', ..] => (false, false, &pattern[2..]),
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:185:36
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 pattern = &pattern[len..];
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:266:30
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let mut chars = text[index..].chars();
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:293:34
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     chars = text[index..].chars();
[INFO] [stdout]     |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:300:46
[INFO] [stdout]     |
[INFO] [stdout] 300 |                         Some((i, _)) => text[i..].chars(),
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:372:48
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         chars = chars.as_str()[len..].chars();
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:385:48
[INFO] [stdout]     |
[INFO] [stdout] 385 |                         chars = chars.as_str()[len..].chars();
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/pattern.rs:973:45
[INFO] [stdout]     |
[INFO] [stdout] 973 |             len += c.encode_utf8(&mut bytes[len..]).len();
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/pattern.rs:986:24
[INFO] [stdout]     |
[INFO] [stdout] 986 |         self.ops.drain(from..to);
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/pattern.rs:1051:45
[INFO] [stdout]      |
[INFO] [stdout] 1051 |             len += c.encode_utf8(&mut bytes[len..]).len();
[INFO] [stdout]      |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/pattern.rs:1067:24
[INFO] [stdout]      |
[INFO] [stdout] 1067 |         self.ops.drain(index + 1..op_index);
[INFO] [stdout]      |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/picker.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for i in 0..self.custom_entries_len {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/picker.rs:278:44
[INFO] [stdout]     |
[INFO] [stdout] 278 |                 for (i, text_char) in text[previous_match.rest_index as usize..].char_indices() {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/picker.rs:426:18
[INFO] [stdout]     |
[INFO] [stdout] 426 |         for i in 1..repetition_count {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/plugin.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 112 |         for i in 0..ctx.plugins.plugins.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:145:27
[INFO] [stdout]     |
[INFO] [stdout] 145 |             index += line[from..]
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:188:44
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 max_end += line.as_bytes()[index..]
[INFO] [stdout]     |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:294:45
[INFO] [stdout]     |
[INFO] [stdout] 294 |                 for line in &mut self.lines[previous_highlighted_len..] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:300:45
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 for line in &mut self.lines[previous_highlighted_len..self.highlighted_len] {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:306:24
[INFO] [stdout]     |
[INFO] [stdout] 306 |             self.lines[insert_index as usize..self.highlighted_len as usize]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/syntax.rs:331:24
[INFO] [stdout]     |
[INFO] [stdout] 331 |             self.lines[delete_index as usize..].rotate_left(delete_line_count as _);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 |         assert_eq!(slice, &line[token.from as usize..token.to as usize]);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:578:64
[INFO] [stdout]     |
[INFO] [stdout] 578 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:579:64
[INFO] [stdout]     |
[INFO] [stdout] 579 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:589:64
[INFO] [stdout]     |
[INFO] [stdout] 589 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:590:64
[INFO] [stdout]     |
[INFO] [stdout] 590 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..3);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:609:60
[INFO] [stdout]     |
[INFO] [stdout] 609 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:610:60
[INFO] [stdout]     |
[INFO] [stdout] 610 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..0);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:611:60
[INFO] [stdout]     |
[INFO] [stdout] 611 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..0);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:612:60
[INFO] [stdout]     |
[INFO] [stdout] 612 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:649:64
[INFO] [stdout]     |
[INFO] [stdout] 649 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:650:64
[INFO] [stdout]     |
[INFO] [stdout] 650 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:651:61
[INFO] [stdout]     |
[INFO] [stdout] 651 |             assert_next_token(&mut tokens, TokenKind::Text, 0..1);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:652:61
[INFO] [stdout]     |
[INFO] [stdout] 652 |             assert_next_token(&mut tokens, TokenKind::Text, 1..2);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:678:60
[INFO] [stdout]     |
[INFO] [stdout] 678 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:679:60
[INFO] [stdout]     |
[INFO] [stdout] 679 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..1);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:680:60
[INFO] [stdout]     |
[INFO] [stdout] 680 |         assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:699:61
[INFO] [stdout]     |
[INFO] [stdout] 699 |             assert_next_token(&mut tokens, TokenKind::Text, 0..1);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:700:64
[INFO] [stdout]     |
[INFO] [stdout] 700 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..2);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:701:64
[INFO] [stdout]     |
[INFO] [stdout] 701 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..1);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:702:64
[INFO] [stdout]     |
[INFO] [stdout] 702 |             assert_next_token(&mut tokens, TokenKind::Comment, 0..3);
[INFO] [stdout]     |                                                                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:714:61
[INFO] [stdout]     |
[INFO] [stdout] 714 |             assert_next_token(&mut tokens, TokenKind::Text, 0..1);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:715:61
[INFO] [stdout]     |
[INFO] [stdout] 715 |             assert_next_token(&mut tokens, TokenKind::Text, 0..1);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:716:61
[INFO] [stdout]     |
[INFO] [stdout] 716 |             assert_next_token(&mut tokens, TokenKind::Text, 0..1);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:717:61
[INFO] [stdout]     |
[INFO] [stdout] 717 |             assert_next_token(&mut tokens, TokenKind::Text, 1..2);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/syntax.rs:718:61
[INFO] [stdout]     |
[INFO] [stdout] 718 |             assert_next_token(&mut tokens, TokenKind::Text, 2..3);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 |     for _ in 0..margin_top {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:138:14
[INFO] [stdout]     |
[INFO] [stdout] 138 |     for _ in 0..margin_bottom {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:332:35
[INFO] [stdout]     |
[INFO] [stdout] 332 |         let line = &line.as_str()[scroll_offset.column_byte_index as usize..];
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:461:30
[INFO] [stdout]     |
[INFO] [stdout] 461 |                     for _ in 0..tab_size - 1 {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:497:14
[INFO] [stdout]     |
[INFO] [stdout] 497 |     for _ in lines_drawn_count..draw_height {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:565:18
[INFO] [stdout]     |
[INFO] [stdout] 565 |         for _ in x..width {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:705:76
[INFO] [stdout]     |
[INFO] [stdout] 705 |                 Some((char_index, (byte_index, _))) => (char_index + 1, &s[byte_index..]),
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:748:53
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let status = match std::str::from_utf8(&buf[status_start_index..]) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:763:13
[INFO] [stdout]     |
[INFO] [stdout] 763 |             status_start_index..status_start_index + status_len,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ui.rs:766:27
[INFO] [stdout]     |
[INFO] [stdout] 766 |         for b in &mut buf[status_start_index..buf_len - status_len] {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/ui.rs:771:38
[INFO] [stdout]     |
[INFO] [stdout] 771 |             let (prefix, rest) = buf[start_index..].split_at_mut(TOO_LONG_PREFIX.len());
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:274:60
[INFO] [stdout]     |
[INFO] [stdout] 274 |                     0 => (KeyCode::Char(buf[0] as _), &buf[1..]),
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:337:24
[INFO] [stdout]     |
[INFO] [stdout] 337 |             buf = &buf[len as usize..];
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/platforms/unix_utils.rs:358:42
[INFO] [stdout]     |
[INFO] [stdout] 358 |         match connection.read(&mut write[start..start + len]) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]    --> src/buffer.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub message_range: Range<u32>,
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeBounds` trait bound in public function
[INFO] [stdout]    --> src/buffer.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 |         R: RangeBounds<usize>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-bounds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/cursor.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Index<RangeFrom<usize>> for CursorCollection {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/cursor.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn index(&self, index: RangeFrom<usize>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/cursor.rs:239:16
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl<'a> Index<RangeFrom<usize>> for CursorCollectionMutGuard<'a> {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/cursor.rs:241:28
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn index(&self, index: RangeFrom<usize>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/cursor.rs:256:19
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl<'a> IndexMut<RangeFrom<usize>> for CursorCollectionMutGuard<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/cursor.rs:257:36
[INFO] [stdout]     |
[INFO] [stdout] 257 |     fn index_mut(&mut self, index: RangeFrom<usize>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 157 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pepper` (lib) due to 8 previous errors; 157 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 std::mem::drop(range_deletes);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^-------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferRangeDeletesMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/events.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |                 std::mem::drop(text_inserts);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^------------^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                argument has type `&mut BufferTextInsertsMutGuard<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 265 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a4e011e787db1444807d8a9aa030b4bcdc2400d48bad6694e6957c05c2ca7f87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4e011e787db1444807d8a9aa030b4bcdc2400d48bad6694e6957c05c2ca7f87", kill_on_drop: false }`
[INFO] [stdout] a4e011e787db1444807d8a9aa030b4bcdc2400d48bad6694e6957c05c2ca7f87
